Wireless communications have become ubiquitous. Improving the performance and capacity of wireless communications systems is highly desirable.
Code division multiple access (CDMA) and multiple-input multiple-output (MIMO) communications techniques share a number of common aspects. In a CDMA system, a number of users transmit simultaneously, with each user being identified by a different spreading code. The spreading codes can be mutually orthogonal, although this is often not the case. For example, in an “overloaded” system, more users are supported than orthogonal codes are available, and thus some cross-correlation exists between users. In a MIMO system, on the other hand, a number of different sub-streams (e.g. a data stream that has been demultiplexed into parallel sub-streams) are transmitted through separate antennas. At the receiver, different sub-streams are differentiated through their signatures (e.g., differing channel gains between each transmit antenna and a set of received antennas). Generally, the different substreams are received with a high degree of cross-correlation at individual receive antennas. In either a CDMA system or a MIMO system, the different users/sub-streams are transmitted in the same frequency band. Hence, in general, system capacity can increase with increasing number of users/sub-streams. In practice, however, interference between users/sub-streams can occur, and as the number of users/sub-streams increases, the complexity of a receiver tends to grow exponentially. While theoretically-optimal solutions are known in some situations, practical implementation considerations have motivated a search for sub-optimal, yet efficient, detectors.